/**
 * Project: Useful Programs <br>
 * Package: tools
 */
package org.leumasjaffe.dice;

import org.eclipse.jdt.annotation.NonNullByDefault;

/**
 * Class .Roll in file Roll.java <br>
 * 
 * @author leumasjaffe
 * @version Jan 22, 2013
 * Created on: Aug 21, 2012
 * 
 */
@NonNullByDefault
public interface Roll {
	/**
	 * Rolls the Dice
	 * @return Returns the result of the roll
	 */
	int roll();
	
	/**
	 * Rolls the Dice
	 * @param bonus A bonus to the roll
	 * @return Returns the integer value that was rolled by this Dice object
	 */
	int roll(int bonus);
	
	/**
	 * Rolls the Dice a number of times
	 * @param numRolls The number of rolls to produce
	 * @return Returns an array of the rolls produced, the array will be of size numRolls
	 */
	int[] rollset(int numRolls);
	
	/**
	 * Rolls the Dice a number of times
	 * @param numRolls The number of rolls to produce
	 * @param bonus A bonus to each roll
	 * @return Returns an array of the rolls produced, the array will be of size numRolls
	 */
	int[] rollset(int numRolls, int bonus);
}
